package com.ruoyi.base.service;

import com.ruoyi.base.domain.vo.SysMessageInfoVo;
import com.ruoyi.base.domain.bo.SysMessageInfoBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 业务消息通知Service接口
 *
 * @author kangyu
 * @date 2024-10-30
 */
public interface ISysMessageInfoService {

    /**
     * 查询业务消息通知
     */
    SysMessageInfoVo queryById(Long mId);

    /**
     * 查询业务消息通知列表
     */
    TableDataInfo<SysMessageInfoVo> queryPageList(SysMessageInfoBo bo, PageQuery pageQuery);

    /**
     * 查询业务消息通知列表
     */
    List<SysMessageInfoVo> queryList(SysMessageInfoBo bo);
    /**
     * 根据绑定业务id查询业务消息通知列表
     */
    List<SysMessageInfoVo> queryListByBusinessId(SysMessageInfoBo bo);

    /**
     * 新增业务消息通知
     */
    Boolean insertByBo(SysMessageInfoBo bo);

    /**
     * 修改业务消息通知
     */
    Boolean updateByBo(SysMessageInfoBo bo);

    /**
     * 校验并批量删除业务消息通知信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 根据绑定业务id删除通知消息
     *
     * @param ids
     * @param isValid
     */
    void deleteWithValidByBusinessIds(Collection<Long> ids, Boolean isValid);
}
